package com.wicket.okrapp.web.contorller;

import com.wicket.okrapp.biz.service.RefreshTreeService;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/app/refreshTree/")
public class RefreshTreeController {

  @Autowired
  RefreshTreeService refreshTreeService;
/**
   * D3-分析生命周期新增/撤销存档操作类型(公共)
   */
    @PostMapping("implementAnalyseLifeCycleAddOpeTypeCom")
    public OkrResult<ImplementAnalyseLifeCycleAddOpeTypeComRespDto> implementAnalyseLifeCycleAddOpeTypeCom(@RequestBody @Validated ImplementAnalyseLifeCycleAddOpeTypeComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementAnalyseLifeCycleAddOpeTypeCom(reqDTO));
    }
/**
   * D3-执行构建部门目标任务书树(公共)
   */
    @PostMapping("implementCreateFlevelObjTaskDutyDeptCom")
    public OkrResult<ImplementCreateFlevelObjTaskDutyDeptComRespDto> implementCreateFlevelObjTaskDutyDeptCom(@RequestBody @Validated ImplementCreateFlevelObjTaskDutyDeptComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementCreateFlevelObjTaskDutyDeptCom(reqDTO));
    }
/**
   * D3执行新增或删除三棵树叶子节点(公共)
   */
    @PostMapping("implementAddOrDelThreeTreeLeafCom")
    public OkrResult<ImplementAddOrDelThreeTreeLeafComRespDto> implementAddOrDelThreeTreeLeafCom(@RequestBody @Validated ImplementAddOrDelThreeTreeLeafComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementAddOrDelThreeTreeLeafCom(reqDTO));
    }
/**
   * D3执行分析三棵树叶子生命周期操作(公共)
   */
    @PostMapping("implementAnalyseThreeTreeLeafLifeOpeCom")
    public OkrResult<ImplementAnalyseThreeTreeLeafLifeOpeComRespDto> implementAnalyseThreeTreeLeafLifeOpeCom(@RequestBody @Validated ImplementAnalyseThreeTreeLeafLifeOpeComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementAnalyseThreeTreeLeafLifeOpeCom(reqDTO));
    }
/**
   * D3执行分析生命周期操作类型(公共)
   */
    @PostMapping("implementAnalyseLifeCycleOpeTypeCom")
    public OkrResult<ImplementAnalyseLifeCycleOpeTypeComRespDto> implementAnalyseLifeCycleOpeTypeCom(@RequestBody @Validated ImplementAnalyseLifeCycleOpeTypeComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementAnalyseLifeCycleOpeTypeCom(reqDTO));
    }
/**
   * D3-执行三棵树树叶子节点存在性校验(公共)
   */
    @PostMapping("implementCheckThreeTreeExistenceCom")
    public OkrResult<ImplementCheckThreeTreeExistenceComRespDto> implementCheckThreeTreeExistenceCom(@RequestBody @Validated ImplementCheckThreeTreeExistenceComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementCheckThreeTreeExistenceCom(reqDTO));
    }
/**
   * D3分析被评对象内容表类型编码(公共)
   */
    @PostMapping("implementAnalyseEvaObjTableTypeCodeCom")
    public OkrResult<ImplementAnalyseEvaObjTableTypeCodeComRespDto> implementAnalyseEvaObjTableTypeCodeCom(@RequestBody @Validated ImplementAnalyseEvaObjTableTypeCodeComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementAnalyseEvaObjTableTypeCodeCom(reqDTO));
    }
/**
   * D3构建部门目标任务书树(公共)
   */
    @PostMapping("implementCreateFlevelObjTaskTreeDeptCom")
    public OkrResult<ImplementCreateFlevelObjTaskTreeDeptComRespDto> implementCreateFlevelObjTaskTreeDeptCom(@RequestBody @Validated ImplementCreateFlevelObjTaskTreeDeptComReqDto reqDTO){
    return OkrResult.success(refreshTreeService.implementCreateFlevelObjTaskTreeDeptCom(reqDTO));
    }
}
